JMangler – A Powerful Back-End for Aspect-Oriented Programming

نویسندگان

  • Günter Kniesel
  • Pascal Costanza
  • Michael Austermann
چکیده

AOSD improves separation of concerns in software development by enabling the modular expression of crosscutting aspects. However, modular implementation of an aspect requires techniques for “weaving” the aspect into the code of all classes that require it. Often, weaving is complicated by the unavailability or dynamic creation of source code. We present JMangler, a freely available framework for load-time transformation of compiled Java programs. We introduce the notions of generic class file interception and order-independent composition and explain JMangler’s contribution in these areas. Then we show how JMangler can be used for load-time weaving and for injecting hooks that enable run-time weaving. JMangler enables behaviors beyond the ability of current high-level AOSD languages and systems.

برای دانلود متن کامل این مقاله و بیش از 32 میلیون مقاله دیگر ابتدا ثبت نام کنید

ثبت نام

اگر عضو سایت هستید لطفا وارد حساب کاربری خود شوید

منابع مشابه

Independent Extensibility for Aspect-Oriented Systems

So far, there is no satisfactory means to safely combine aspects that have been developed independently. In the general case, the process of jointly applying different aspects is not guaranteed to produce complete and unambiguous results. This paper shows that in the relevant case of pure interface modifications, completeness, uniqueness and independent extensibility can be ensured. This result...

متن کامل

On the Problems of the JPMs

Increasingly, aspect-oriented programming (AOP) [1] has been considered to pursue a better modularization of object-oriented programs, especially when representing crosscutting concerns. However, current aspect-oriented frameworks such as AspectJ [2], AspectWerkz [3], JMangler [4] and others, operate in a way directly related to the code. They define some points in the computational flow, named...

متن کامل

Generating AspectJ Programs with Meta-AspectJ

Meta-AspectJ (MAJ) is a language tool for generating AspectJ programs using code templates. MAJ itself is an extension of Java, so users can interleave arbitrary Java code with AspectJ code templates. MAJ is a structured meta-programming tool: a well-typed generator implies a syntactically correct generated program. MAJ promotes a methodology that combines aspect-oriented and generative program...

متن کامل

µABC: A Minimal Aspect Calculus

Aspect-oriented programming is emerging as a powerful tool for system design and development. In this paper, we study aspects as primitive computational entities on par with objects, functions and horn-clauses. To this end, we introduce μABC, a name-based calculus, that incorporates aspects as primitive. In contrast to earlier work on aspects in the context of object-oriented and functional pro...

متن کامل

Model-based Aspect Weaver Construction

This paper describes an approach that combines model engineering with program transformation techniques to construct aspect weavers for general-purpose programming languages. The front-end of the weaver uses a high-level language (i.e., an aspect language) to specify aspects and is designed with a metamodel-based approach using the AMMA toolsuite. The back-end of the weaver uses transformation ...

متن کامل

ذخیره در منابع من


  با ذخیره ی این منبع در منابع من، دسترسی به آن را برای استفاده های بعدی آسان تر کنید

برای دانلود متن کامل این مقاله و بیش از 32 میلیون مقاله دیگر ابتدا ثبت نام کنید

ثبت نام

اگر عضو سایت هستید لطفا وارد حساب کاربری خود شوید

عنوان ژورنال:

دوره   شماره 

صفحات  -

تاریخ انتشار 2003